package main

import "fmt"

type Num struct {
    n int
}

func main() {
    var i Num = Num{1}
    var j interface{}
    j = i
    res, ok := j.(int)  // 带检查的类型断言
	fmt.Println(res, ok)  // ok是false，类型不对，res的值就是转换类型的默认值
	var k interface{}
	k = i
    res2, ok := k.(Num)  // 这次类型是对的
    fmt.Println(res2, ok)  // ok是true
}